/*
 *  isPalindrom.c
 *  Ueb5
 *
 *  Created by Jon on 19.11.09.
 *  All rights reserved.
 *
 */

#include "isPalindrom.h"

int isPalindrom(char string[]) {
	int b,length,i,noSpaceCount;
	char stringWithOutSpaces[length];
	length = lengthOfString(string);
	noSpaceCount=0;// -1 da der erste index des Arrays 0 ist.
	
	
	for(b=0;b<length;b++){
		
		if (string[b]!=' ') {
			printf("%c", string[b]);
			stringWithOutSpaces[noSpaceCount]=string[b];
			noSpaceCount++;
		}	
	}
	noSpaceCount--;
	/* die Schleife l√§uft bis zur Wortmitte s[l/2];
	 falls l ungerade ist, wird das mittlere Element nicht √ºberpr√ºft
	 (ist auch nicht n√∂tig) 
	 */
	for (i=0; i<noSpaceCount/2; i++){
		/* sobald ein falsches Paar gefunden ist, ist schon gewiss, dass
		 das Wort kein Palindrom ist => return 0 */  
		
		if ( tolower(stringWithOutSpaces[i]) != tolower(stringWithOutSpaces[noSpaceCount-i-1])){
			return(0);
		}
	}
	
	/* es wurde kein falsches Paar gefunden => s ist Palindrom! */
	return(1);
}
int lengthOfString(char string[]){
	
	int count=0;
	
	while (string[count]!=0) {
		count++;
	}
	
	return count;
}